struct GtkCssRuleset
{
GtkCssSelector *selector;
+ GtkCssSelectorTree *selector_match;
WidgetPropertyValue *widget_style;
PropertyValue *styles;
GtkBitmask *set_styles;
_gtk_css_selector_tree_builder_add (builder,
ruleset->selector,
+ &ruleset->selector_match,
ruleset);
}
typedef struct {
gpointer match;
GtkCssSelector *current_selector;
+ GtkCssSelectorTree **selector_match;
} GtkCssSelectorRuleSetInfo;
if (exact_matches == NULL)
exact_matches = g_ptr_array_new ();
g_ptr_array_add (exact_matches, info->match);
+ if (info->selector_match != NULL)
+ *info->selector_match = tree;
}
else
matched = g_list_prepend (matched, info);
void
_gtk_css_selector_tree_builder_add (GtkCssSelectorTreeBuilder *builder,
GtkCssSelector *selectors,
+ GtkCssSelectorTree **selector_match,
gpointer match)
{
GtkCssSelectorRuleSetInfo *info = g_new0 (GtkCssSelectorRuleSetInfo, 1);
info->match = match;
info->current_selector = selectors;
+ info->selector_match = selector_match;
builder->infos = g_list_prepend (builder->infos, info);
}
GtkCssSelectorTreeBuilder *_gtk_css_selector_tree_builder_new (void);
void _gtk_css_selector_tree_builder_add (GtkCssSelectorTreeBuilder *builder,
GtkCssSelector *selectors,
+ GtkCssSelectorTree **selector_match,
gpointer match);
GtkCssSelectorTree * _gtk_css_selector_tree_builder_build (GtkCssSelectorTreeBuilder *builder);
void _gtk_css_selector_tree_builder_free (GtkCssSelectorTreeBuilder *builder);